package com.mindata.blockchain.block.db;

/**
 * key-value型DB数据库操作接口  约定接口规范 无论是使用比特币的levelDB 进行存储 还是facebook的rocksDB进行存储
 * 必须可以完成以下动作
 * @author wuweifeng wrote on 2018/3/26.
 */
public interface DbStore {
    /**
     * 数据库key value
     *放置一一个string key string value
     * @param key
     *         key
     * @param value
     *         value
     */
    void put(String key, String value);

    /**
     * get By Key
     *根据一个key名称 获取一个string value
     * @param key
     *         key
     * @return value
     */
    String get(String key);

    /**
     * 根据一个string key 删除一个键值对
     * remove by key
     *
     * @param key
     *         key
     */
    void remove(String key);
}
